An output driver is a common element of a semiconductor device that is typically used for storing a binary value and for communicating the binary value to other circuitry throughout the semiconductor device over a data bus. At the output driver, a voltage level represents the binary value and it is common to connect an output driver to a transmission line of the semiconductor device for communicating the binary value to a receiving circuit by driving the transmission line to a desired voltage level, representative of the binary value. When driving the transmission line, the output driver exhibits an inherent output impedance. The transmission line also has an inherent characteristic impedance. When the output impedance of the output driver is not matched to the characteristic impedance of the transmission line, transmission line reflections occur which limit the high-speed I/O performance of the integrated circuit. These reflections can be controlled by matching the driver output impedance to the impedance of the transmission line, thereby obtaining a desired high rate of data transfer on the transmission line. Impedance matching solutions currently known in the art require the use of off-chip components, such as resistors, or techniques for programming the driver output impedance from outside the integrated circuit chip to implement matching between the output driver and the transmission line. However, these solutions adversely impact board density, reliability and cost of the device.
The output impedance of the output driver is dependent upon many factors, including the voltage level input of the supply voltage of the integrated circuit. Various operating voltages may be employed in integrated circuit board designs and the output impedance of an output driver implemented in the integrated circuit may change based upon the specific operating voltage used in the circuit design. In particular, integrated circuits, such as low-voltage complementary metal oxide (LVCMOS) circuits, are commonly designed for operating voltages of 3.3V, 2.5V or 1.8V. An output driver implemented in an integrated circuit with an operating voltage of 3.3V will exhibit a different output impedance than the same output driver implemented in an integrated circuit with an operating voltage of 2.5V. As such, a circuit designer will be unable to use the same output driver for different operating voltages without making adjustments to the integrated board design to account for the impedance mismatch.
Accordingly, what is needed in the art is an improved output driver that adapts its output impedance to the voltage level of a given power supply to provide a constant output impedance over a range of different operating voltages.